﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Lib_general;

namespace HAM
{
    public partial class frmDmNhanvien : Lib_frmParent.frmDanhmuc
    {
        private DmNhanvien nhanvien = new DmNhanvien();
        private DataSet dsnv = null;
        private int status = 0;

        public frmDmNhanvien()
        {
            InitializeComponent();
            this.dvgDanhmuc.CurrentCellChanged += new EventHandler(dvgDanhmuc_CurrentCellChanged);
        }

        private void frmDmNhanvien_Load(object sender, EventArgs e)
        {
            Load_data();
            ena_grodocument(true);
        }
        private void Load_data()
        {
            try
            {
                dvgDanhmuc.AutoGenerateColumns = false;
                dsnv = nhanvien.Load_form();
                dvgDanhmuc.DataSource = dsnv.Tables[0];
                dvgDanhmuc.Columns["manv"].DataPropertyName = "manv";
                dvgDanhmuc.Columns["tennv"].DataPropertyName = "ten";
            }
            catch { }
        }
        private void ena_grodocument(bool value)
        {
            txtmanv.Enabled = txttennv.Enabled = !value;
        }

        private void clear_text()
        {
            txtmanv.Text = txttennv.Text = "";
            txtmanv.Focus();
        }

        private void butmoi_Click(object sender, EventArgs e)
        {
            ena_grodocument(false);
            clear_text();
            status = 0;
        }

        private void butluu_Click(object sender, EventArgs e)
        {
            if (!nhanvien.upd_dmnhanvien(txtmanv.Text, txttennv.Text, status))
            {
                MessageBox.Show("Không cập nhật được thông tin hoặc mã nhân viên đã tồn tại!");
                txtmanv.Focus();
                return;
            }
            Load_data();
            ena_grodocument(true);
        }

        private void butsua_Click(object sender, EventArgs e)
        {
            ena_grodocument(false); txtmanv.Enabled = false; txttennv.Focus();
            status = 1;
        }

        private void butxoa_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn có muốn xóa dữ liệu này không?", "SYSTEM", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                bool ok = nhanvien.delete_dmnhanvien(txtmanv.Text);
                if (!ok)
                    MessageBox.Show("Nhân viên này đã phát sinh dữ liệu không thể xóa!");
            }
            Load_data();
        }

        private void butboqua_Click(object sender, EventArgs e)
        {
            ena_grodocument(true);
        }

        private void dvgDanhmuc_CurrentCellChanged(object sender, EventArgs e)
        {
            try
            {
                txtmanv.Text = dvgDanhmuc.CurrentRow.Cells[0].Value.ToString();
                txttennv.Text = dvgDanhmuc.CurrentRow.Cells[1].Value.ToString();
            }
            catch { }
        }

        private void txtmanv_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) SendKeys.Send("{Tab}");
        }
    }
}
